HTTP 응답 코드 이해하기

HTTP 응답 코드는 서버가 클라이언트의 요청에 대해 어떤 결과가 있었는지 알려주는 3자리 숫자입니다. 이 코드는 백엔드 개발에서 매우 중요한 역할을 하며, 클라이언트와 서버 간의 HTTP 동작 결과를 소통합니다.

HTTP 상태 코드의 범주

범주 코드 범위 의미
정보 100–199 요청을 받았으며, 처리를 계속함
성공 200–299 요청이 성공적으로 처리됨
리다이렉션 300–399 요청을 완료하려면 추가 동작이 필요함
클라이언트 오류 400–499 요청이 잘못되었거나(문법 오류 등) 서버가 처리하지 못함
서버 오류 500–599 서버가 유효한 요청을 처리하는 데 실패함

자주 사용하는 HTTP 상태 코드

상세 표 예시

상태코드 이름 일반적인 사용 예시
200 OK GET/POST/PUT/DELETE 성공 시
201 Created 리소스가 성공적으로 생성됨
204 No Content 성공했으나 반환할 내용 없음
400 Bad Request 잘못된 클라이언트 요청
401 Unauthorized 인증 정보 부족/유효하지 않음
403 Forbidden 인증되어도 접근 권한 없음
404 Not Found 엔드포인트에 리소스가 없음
409 Conflict 리소스 충돌 (예: 중복 데이터)
500 Internal Server Error 서버 내부 일반 오류
503 Service Unavailable 서버 과부하, 점검 중 등

일반적인 커스터마이징 예시

베스트 프랙티스 (Best Practices)

예시: 커스텀 에러 응답(JSON API)

{
  "status": 404,
  "error": "NOT_FOUND",
  "code": "USER_001",
  "message": "해당 ID의 사용자를 찾을 수 없습니다.",
  "details": "사용자 ID가 올바른지 확인하세요."
}

현장 시나리오

표준 HTTP 상태 코드 전체와 베스트 프랙티스에 관해서는 공식 문서나 산업 가이드를 참고하는 것이 좋습니다.